package com.qfjy.client;

import com.qfjy.client.impl.VideoInfoFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

// 用于通知Feign组件对该接口进行代理(不需要编写接口实现)，
//定义容错的处理类，当调用远程接口失败或超时时，会调用对应接口的容错逻辑。fallback指定的类必须实现@FeignClient标记的接口
@FeignClient(name = "QF-VIDEO",path = "videoInfo",fallback = VideoInfoFallback.class)
public interface VideoInfoFeignClient {

    @GetMapping("select")
    @ResponseBody
    public String selectVideoInfoByPcode(@RequestParam("pcode") String pcode);

    /**
    Feign:
     String url="http://QF-VIDEO/videoInfo/select?pcode=?


     //调用视频微服务 根据会议编号 得到视频相关信息
     // String url="http://localhost:8085/videoInfo/select?pcode="+meetingPub.getPcode();
     //Ribbon+RestTemplate
     // Ribbon可自动从Eureka Server获取服务提供者地址列表，并基于负载均衡算法，请求其中一个服务提供者实例。
     String url="http://QF-VIDEO/videoInfo/select?pcode="+meetingPub.getPcode();
     String result=restTemplate.getForObject(url,String.class);

     */
}
